{"version":3,"sources":["webpack://_N_E/./src/services/sanity/serializers.tsx","webpack://_N_E/./src/components/rich-text/rich-text.styles.ts","webpack://_N_E/./src/components/rich-text/rich-text.tsx","webpack://_N_E/./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?2e99","webpack://_N_E/./src/components/ui/content-section.tsx","webpack://_N_E/./src/pages/[slug].tsx"],"names":["serializers","types","block","children","node","style","as","size","marks","link","mark","blank","href","target","rel","internalLink","downloadResourceUrl","slug","_type","StyledBlockContent","styled","BlockContent","rem","theme","components","text","Text","RichText","blocks","window","__NEXT_P","push","StyledSection","Section","wrapperBg","StyledSectionWrapper","SectionWrapper","colors","palette","white","borderRadius","medium","BackLinkWrapper","ContentSection","textAlign","className","backLink","to","ReminderContent","black","PreviewLayout","Page","props","previewEnabled","Cookies","get","settings","previewCookieName","useRouter","query","useQuery","getPageBySlug","initialData","undefined","page","enabled","data","isLoading","errorCode","title","description","preview","mainBackground","backgroundImages","treesBurn","body"],"mappings":"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","file":"static/chunks/pages/[slug]-144e64bcb6e4744c79a4.js","sourcesContent":["import { BlockContentProps } from '@sanity/block-content-to-react';\nimport { H4, H5 } from 'components/headings';\nimport { Text } from 'components/ui/text';\nimport Link from 'next/link';\nimport React from 'react';\n\nconst BlockRenderer = ({ children, node }: any) => {\n const style = node.style || 'normal';\n\n switch (style) {\n case 'h2':\n return

{children}

;\n case 'h3':\n return
{children}
;\n case 'large':\n return {children};\n default:\n return {children};\n }\n};\n\nexport const serializers: BlockContentProps['serializers'] = {\n types: {\n block: BlockRenderer,\n },\n marks: {\n link: ({ mark, children }) => {\n // Read https://css-tricks.com/use-target_blank/\n const { blank, href } = mark;\n return blank ? (\n \n {children}\n \n ) : (\n {children}\n );\n },\n internalLink: ({ mark, children }) => {\n if (mark.downloadResourceUrl) {\n return (\n \n {children}\n \n );\n }\n if (mark.slug) {\n const { slug = {}, blank } = mark;\n const href = `/${slug}`;\n return (\n \n {blank ? (\n \n {children}\n \n ) : (\n {children}\n )}\n \n );\n }\n\n return (\n \n Unknown mark: {mark._type}.\n \n );\n },\n },\n};\n","import BlockContent from '@sanity/block-content-to-react';\nimport { Text } from 'components/ui/text';\nimport { rem } from 'polished';\nimport styled from 'styled-components';\n\nexport const StyledBlockContent = styled(BlockContent)`\n margin-top: ${rem(20)};\n color: ${({ theme }) => theme.components.text.text};\n line-height: 1.4;\n\n > * {\n margin: 0;\n }\n\n > * + * {\n margin-top: ${rem(20)};\n }\n\n p {\n line-height: inherit;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n + p,\n + ${Text} {\n margin-top: ${rem(10)};\n }\n }\n\n ul,\n ol {\n padding-left: ${rem(30)};\n\n * + * {\n margin-top: ${rem(10)};\n }\n }\n\n /* stylelint-disable -- Disabled so we can use specific order of properties\n Source: https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/\n */\n a {\n /* These are technically the same, but use both */\n overflow-wrap: break-word;\n word-wrap: break-word;\n\n -ms-word-break: break-all;\n /* This is the dangerous one in WebKit, as it breaks things wherever */\n word-break: break-all;\n /* Instead use this non-standard one: */\n word-break: break-word;\n\n /* Adds a hyphen where the word breaks, if supported (No Blink) */\n -ms-hyphens: auto;\n -moz-hyphens: auto;\n -webkit-hyphens: auto;\n hyphens: auto;\n }\n /* stylelint-enable */\n`;\n","import React, { FC } from 'react';\nimport { serializers } from 'services/sanity/serializers';\nimport { StyledBlockContent } from './rich-text.styles';\n\ninterface Props {\n blocks: any[] | any;\n}\n\nconst RichText: FC = ({ blocks }) => {\n return ;\n};\n\nexport default RichText;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[slug]\",\n function () {\n return require(\"private-next-pages/[slug].tsx\");\n }\n ]);\n ","import BackLink from 'components/back-link';\nimport SwitchTheme from 'components/switch-theme';\nimport { rem } from 'polished';\nimport { FC } from 'react';\nimport styled from 'styled-components';\nimport { Section, SectionProps } from './section';\nimport { SectionWrapper } from './section-wrapper';\n\nconst StyledSection = styled(Section)<{ wrapperBg?: boolean }>`\n position: relative;\n margin-top: var(--header-height);\n padding: ${({ wrapperBg }) => (wrapperBg ? `${rem(10)} ${rem(30)}` : 0)};\n background: none;\n`;\n\nconst StyledSectionWrapper = styled(SectionWrapper)`\n background-color: ${({ wrapperBg, theme }) =>\n wrapperBg ? theme.colors.palette.white : 'transparent'};\n border-radius: ${({ theme }) => theme.borderRadius.medium};\n box-shadow: ${({ wrapperBg }) =>\n wrapperBg ? '0 4px 45px rgba(0, 0, 0, 0.8)' : 'none'};\n`;\n\nconst BackLinkWrapper = styled(SectionWrapper)`\n padding: 0 ${rem(10)} ${rem(20)};\n\n a {\n margin-bottom: 0;\n }\n`;\n\ninterface Props extends SectionProps {\n wrapperBg?: boolean;\n className?: string;\n backLink?: string;\n}\n\nconst ContentSection: FC = ({\n children,\n wrapperBg,\n textAlign,\n className,\n backLink,\n}) => {\n return (\n \n \n {backLink && (\n \n Back\n \n )}\n \n {children}\n \n \n \n );\n};\n\nexport default ContentSection;\n\nexport const ReminderContent = styled(ContentSection)`\n time {\n margin: 0 0 ${rem(5)};\n font-size: ${rem(14)};\n }\n\n ${StyledSectionWrapper} {\n color: ${({ theme }) => theme.colors.palette.black};\n\n > *:last-child {\n margin-bottom: 0;\n }\n }\n`;\n","import { getAllPages, getPageBySlug } from 'api/cms';\nimport { H4 } from 'components/headings';\nimport Layout from 'components/layout';\nimport RichText from 'components/rich-text';\nimport SEO from 'components/seo';\nimport ContentSection from 'components/ui/content-section';\nimport { Text } from 'components/ui/text';\nimport Cookies from 'js-cookie';\nimport { GetStaticPaths, GetStaticProps, NextPage } from 'next';\nimport { useRouter } from 'next/router';\nimport { FC } from 'react';\nimport { useQuery } from 'react-query';\nimport { Page as PageData } from 'types/sanity';\nimport { backgroundImages, settings } from 'utils/config';\n\ninterface Props {\n page?: PageData;\n preview?: boolean;\n errorCode?: number;\n}\n\nconst PreviewLayout: FC = ({ children }) => (\n \n {children}\n \n);\n\nconst Page: NextPage = (props) => {\n const previewEnabled = Cookies.get(settings.previewCookieName) === 'enabled';\n\n const router = useRouter();\n const { slug = '' }: any = router.query;\n\n const { data, isLoading } = useQuery(\n [slug, previewEnabled],\n () => getPageBySlug(slug, previewEnabled),\n {\n initialData: !previewEnabled ? { page: props.page } : undefined,\n enabled: previewEnabled,\n }\n );\n\n if (previewEnabled && isLoading) {\n return (\n \n Loading preview...\n \n );\n }\n\n // Page not found\n if (props.errorCode) {\n return (\n \n Error: {props.errorCode}\n \n );\n }\n\n // Present page without data\n if (!data || !data.page) {\n return (\n \n No page data\n \n );\n }\n\n const { page } = data;\n\n return (\n <>\n \n \n \n

{page.title}

\n \n
\n \n \n );\n};\n\nexport const getStaticProps: GetStaticProps = async ({\n params,\n preview = false,\n}) => {\n const slug = params?.slug as string;\n const { page } = await getPageBySlug(slug, preview);\n\n // Page doesn't exist\n if (!page) {\n return {\n props: { errorCode: 404 },\n };\n }\n\n return {\n props: {\n page,\n preview,\n },\n };\n};\n\nexport const getStaticPaths: GetStaticPaths = async () => {\n const { pages: allPages } = await getAllPages();\n const paths =\n allPages?.map((page: any) => ({\n params: {\n slug: page.slug.current,\n },\n })) || [];\n\n return {\n paths,\n fallback: false,\n };\n};\n\nexport default Page;\n"],"sourceRoot":""}